#!/bin/bash

# 设置基础认证用户名和密码
N8N_BASIC_AUTH_USER="lulu.chen"        # 替换为你的用户名
N8N_BASIC_AUTH_PASSWORD="111111aa"    # 替换为你的密码

# 配置 n8n 数据目录
N8N_DATA_DIR="$HOME/n8n"

# 创建数据目录并设置权限
echo "Setting up n8n data directory..."
if [ -d "$N8N_DATA_DIR" ]; then
  echo "Data directory already exists."
else
  mkdir -p "$N8N_DATA_DIR"
fi

sudo chown -R 1000:1000 "$N8N_DATA_DIR"

# 检查并删除旧容器（如果存在）
echo "Stopping and removing old n8n container if it exists..."
docker ps -a --format "{{.Names}}" | grep -q "^n8n$" && docker rm -f n8n

# 启动 n8n 容器
echo "Starting n8n container..."
docker run -d \
  --name n8n \
  -p 5678:5678 \
  -v "$N8N_DATA_DIR:/home/node/n8n" \
  -e N8N_BASIC_AUTH_ACTIVE=true \
  -e N8N_BASIC_AUTH_USER="${N8N_BASIC_AUTH_USER}" \
  -e N8N_BASIC_AUTH_PASSWORD="${N8N_BASIC_AUTH_PASSWORD}" \
  -e N8N_SECURE_COOKIE=false \
  -e N8N_HOST=0.0.0.0 \
  n8nio/n8n

# 检查容器是否启动成功
if [ $? -eq 0 ]; then
  echo "n8n has been successfully started. You can access it at http://10.12.29.4:5678"
else
  echo "Error: Failed to start n8n." >&2
  exit 1
fi
